package com.lframework.xingyun.promo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lframework.starter.web.core.dto.BaseDto;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.lframework.starter.web.core.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

/**
 * <p>
 * 限时满减活动表
 * </p>
 *
 */
@Data
@TableName("promo_marketing_fullreduction")
public class MarketingFullreduction extends BaseEntity implements BaseDto {

    private static final long serialVersionUID = 1L;

    public static final String CACHE_NAME = "MarketingFullreduction";

    /**
     * ID
     */
    private String id;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建人ID
     */
    @TableField(fill = FieldFill.INSERT)
    private String createById;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 修改人ID
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateById;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 促销活动名称
     */
    private String name;

    /**
     * 促销活动开始时间
     */
    private LocalDateTime beginDate;

    /**
     * 促销活动结束时间
     */
    private LocalDateTime endDate;

    /**
     * 活动期间是否周期执行
     */
    private Boolean cycleFlag;

    /**
     * 周期类型(1:每天; 2:每周; 3:每月)
     */
    private Integer cycleType;

    /**
     * 周期执行时间段
     */
    private String cycleTimeGroup;

    /**
     * 周期执行规则
     */
    private String cycleTimeRule;

    /**
     * 是否适应全部会员等级(1:全部用户; 2:全部会员; 3:指定会员等级;)
     */
    private Integer allMemberLevel;

    /**
     * 会员等级id
     */
    private String memberLevelId;

    /**
     * 是否限制购买数量
     */
    private Boolean allBuyLimit;

    /**
     * 周期限购数量
     */
    private Integer cycleBuyLimit;

    /**
     * 是否全部商品参与
     */
    private Boolean allProduct;

    /**
     * 商品id
     */
    private String productId;

    /**
     * 是否可使用优惠券
     */
    private Boolean useCoupon;

    /**
     * 是否可参与满折扣
     */
    private Boolean useFulldiscount;

    /**
     * 是否可参与特价
     */
    private Boolean useFullprice;

    /**
     * 是否可参与满赠
     */
    private Boolean useFullgiftactivity;

    /**
     * 是否全部门店
     */
    private Boolean allShop;

    /**
     * 门店id
     */
    private String shopId;

    /**
     * 满减活动类型(1:满N元减; 2:满N件减;)
     */
    private Integer reductionType;

    /**
     * 优惠类型(1:阶梯递减; 2:循环满减;)
     */
    private Integer promType;

    /**
     * 优惠层级
     */
    private String promItem;

}

